ASP.Net একটি শক্তিশালী Server-Side Web Framework যা Microsoft দ্বারা তৈরি করা হয়েছে, এবং এটি Model-View-Controller (MVC) আর্কিটেকচার, Web Forms, এবং Razor Pages আর্কিটেকচারের ভিত্তিতে কাজ করে। ASP.Net এর আর্কিটেকচার অ্যাপ্লিকেশন ডেভেলপমেন্টকে মডুলার, স্কেলেবল, এবং রক্ষণাবেক্ষণে সহজ করে তোলে।
নিচে ASP.Net এর প্রধান আর্কিটেকচার সম্পর্কে বিস্তারিত আলোচনা করা হলো:
ASP.Net সাধারণত দুটি প্রধান কম্পোনেন্টে বিভক্ত:
এছাড়াও ASP.Net এ বিভিন্ন ফিচার থাকে, যেমন Request-Response Pipeline, Middleware, Routing, এবং Dependency Injection, যা অ্যাপ্লিকেশনের কার্যক্ষমতা এবং স্কেলেবিলিটি বাড়ায়।
ASP.Net MVC একটি Design Pattern যার মধ্যে অ্যাপ্লিকেশনকে তিনটি অংশে ভাগ করা হয়:
MVC আর্কিটেকচার Separation of Concerns (SoC) নিশ্চিত করে, যা কোডের মডুলারিটি ও রক্ষণাবেক্ষণ সহজ করে।
Product
, User
ক্লাস)ASP.Net Web Forms একটি Event-Driven আর্কিটেকচার যেখানে UI কন্ট্রোল (যেমন TextBox, Button, GridView) ব্যবহার করে কোড পরিচালিত হয়। এটি ডেভেলপমেন্টকে সহজতর করে, তবে বড় অ্যাপ্লিকেশনগুলোর জন্য স্কেলেবিলিটি এবং রক্ষণাবেক্ষণ কিছুটা কঠিন হতে পারে।
ASP.Net Razor Pages একটি Page-based আর্কিটেকচার যা MVC এর মতোই কাজ করে, তবে এটি আরও সহজ এবং compact। এখানে প্রত্যেকটি পেজের সাথে একটি কোডবিহাইন্ড ফাইল থাকে, যা সরাসরি পেজটির জন্য লজিক পরিচালনা করে।
ASP.Net এ Request-Response Pipeline হল একটি গুরুত্বপূর্ণ ধারণা, যা সব HTTP রিকোয়েস্ট এবং রেসপন্স প্রক্রিয়া করে। যখন একটি HTTP রিকোয়েস্ট আসবে, তখন এটি কয়েকটি ধাপে প্রসেস হবে:
ASP.Net Core এ Middleware হল সিস্টেমের একটি গুরুত্বপূর্ণ অংশ যা অ্যাপ্লিকেশনের HTTP রিকোয়েস্ট-প্রসেসিং প pipeline-এ প্রতিটি স্টেপের মধ্যে কার্যকর হয়। এটি রিকোয়েস্টের প্রক্রিয়া, লগিং, অথেন্টিকেশন, রাউটিং, CORS (Cross-Origin Resource Sharing) প্রক্রিয়া পরিচালনা করে।
Middleware একে অপরের সাথে কাজ করে এবং খুব সহজেই কাস্টম ফিচার যোগ করতে সক্ষম।
ASP.Net Core এ Dependency Injection একটি বিল্ট-ইন ডিজাইন প্যাটার্ন যা কোডে ডিপেনডেন্সি ম্যানেজমেন্ট সহজ করে। এর মাধ্যমে আপনি প্রোগ্রামিংয়ে কোডের পুনঃব্যবহারযোগ্যতা এবং টেস্টিং সিম্পল করে তুলতে পারেন।
কোনো সার্ভিস বা ক্লাস তৈরি করতে, আপনি সেটিকে ConfigureServices মেথডে DI কন্টেইনারে রেজিস্টার করবেন, তারপর সেটা ব্যবহার করতে পারবেন অ্যাপ্লিকেশনের যেকোনো অংশে।
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IMyService, MyService>();
}
ASP.Net এ Routing HTTP রিকোয়েস্ট এবং ইউআরএল প্যাটার্নের মাধ্যমে কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে মেলানো হয়। এটি ক্লায়েন্টের রিকোয়েস্ট অনুযায়ী সঠিক কন্ট্রোলার নির্বাচন করে এবং ডেটা প্রদর্শন বা অ্যাকশন সম্পাদন করে।
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
ASP.Net শক্তিশালী Authentication এবং Authorization ফিচার সরবরাহ করে। ব্যবহারকারীদের Forms Authentication, JWT (JSON Web Tokens), অথবা Windows Authentication এর মাধ্যমে সুরক্ষা প্রদান করা যায়।
ASP.Net এর আর্কিটেকচার MVC, Web Forms, Razor Pages সহ অনেক উন্নত ডিজাইন প্যাটার্ন এবং টেকনোলজি নিয়ে গঠিত। এতে Request-Response Pipeline, Middleware, Routing, Dependency Injection, এবং Security Features এর মাধ্যমে আপনি সহজে এবং দক্ষতার সাথে শক্তিশালী, স্কেলেবল এবং সুরক্ষিত ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন। ASP.Net আপনাকে মডুলার, রক্ষণাবেক্ষণযোগ্য কোড এবং টেস্টিং সুবিধা দেয়, যা দ্রুত এবং উন্নত সফটওয়্যার ডেভেলপমেন্টকে সম্ভব করে তোলে।
ASP.Net Request এবং Response সাইকেল হল একটি গুরুত্বপূর্ণ প্রক্রিয়া যা একটিতে ওয়েব পেজের অনুরোধ এবং সাড়া প্রদান করে। এই সাইকেলটি ধাপে ধাপে নির্ধারণ করে কিভাবে HTTP request প্রসেস হয় এবং কীভাবে HTTP response তৈরি হয়। এটি ডেভেলপারদের অ্যাপ্লিকেশন নির্মাণ এবং ডিবাগিংয়ের জন্য গুরুত্বপূর্ণ ধারণা।
Request সাইকেল হল সেই প্রক্রিয়া যেখানে ক্লায়েন্ট ব্রাউজার সার্ভারে একটি HTTP request পাঠায় এবং সার্ভার সেই অনুরোধটি গ্রহণ করে, প্রসেস করে এবং HTTP response পাঠায়। এই সাইকেলটি ওয়েব অ্যাপ্লিকেশনের কার্যক্ষমতা এবং সিকিউরিটি নির্ধারণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
/home/index
রাউট হবে HomeController এর Index অ্যাকশন।Middleware হল সফটওয়্যারের একটি স্তর যা HTTP request এবং response এর মাঝে প্রসেসিং চালায়। ASP.Net Core-এ, middleware একটি চেইন আকারে চলে এবং প্রতিটি middleware পরবর্তী middleware বা request handler এ প্রবাহিত হয়।
ASP.Net Request এবং Response সাইকেল হলো একটি গুরুত্বপূর্ণ প্রক্রিয়া যা HTTP request গ্রহণ, প্রসেস, এবং উপযুক্ত response তৈরির মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগ পরিচালনা করে। এটি Request Pipeline, Routing, Middleware, এবং Controller Action এর মাধ্যমে প্রসেস হয়, যা অ্যাপ্লিকেশনের কার্যক্রম নির্ধারণ করে। Understanding of this cycle is crucial for building efficient and secure ASP.Net applications.
HTTP পাইপলাইন হলো একটি গুরুত্বপূর্ণ ধারণা যা ASP.Net অ্যাপ্লিকেশনগুলিতে HTTP অনুরোধ (Request) এবং HTTP উত্তর (Response) প্রক্রিয়া করে। এটি বিভিন্ন middleware কম্পোনেন্টের মাধ্যমে কাজ করে, যা অনুরোধটি প্রক্রিয়া করার এবং সঠিক উত্তর প্রদান করার জন্য অ্যাপ্লিকেশনকে স্টেপ বাই স্টেপ গাইড করে।
ASP.Net Core এর HTTP পাইপলাইন অত্যন্ত কাস্টমাইজযোগ্য এবং এর মধ্যে বিভিন্ন middleware এর মাধ্যমে অনুরোধ এবং উত্তর প্রক্রিয়া সম্পন্ন হয়।
HTTP পাইপলাইন একটি অনুরোধ এবং তার প্রক্রিয়াজাতকরণ চলাকালীন বিভিন্ন middleware এর মাধ্যমে ধাপে ধাপে প্রবাহিত হয়। প্রতিটি middleware একে একে HTTP অনুরোধের উপর কাজ করে এবং অবশেষে একটি response তৈরি করে।
এই পাইপলাইনের কাজ হল:
Middleware হলো সফটওয়্যারের এমন একটি কম্পোনেন্ট যা HTTP অনুরোধ বা রেসপন্সে এক বা একাধিক প্রক্রিয়া পরিচালনা করে। এটি সাধারণত অ্যাপ্লিকেশনের request-response pipeline এর অংশ হিসেবে কাজ করে। ASP.Net Core এর HTTP পাইপলাইনে middleware কম্পোনেন্টগুলো অনুরোধ প্রক্রিয়া শুরু করার আগে বা রেসপন্স প্রক্রিয়া শেষ করার পরে কাজ করে।
ASP.Net Core অ্যাপ্লিকেশনে HTTP পাইপলাইন কনফিগারেশন Startup.cs ফাইলে করা হয়, যেখানে ConfigureServices এবং Configure মেথড দুটি গুরুত্বপূর্ণ ভূমিকা পালন করে।
এটি অ্যাপ্লিকেশনের বিভিন্ন সেবা (Services) কনফিগার করার জন্য ব্যবহৃত হয়। এখানে বিভিন্ন পরিষেবা যেমন Entity Framework, Authentication, Authorization ইত্যাদি নিবন্ধিত হয়।
public void ConfigureServices(IServiceCollection services)
{
// সার্ভিস নিবন্ধন করা হচ্ছে
services.AddRouting();
services.AddControllersWithViews();
}
এখানে HTTP পাইপলাইনে middleware গুলি একে একে সন্নিবেশ করা হয়। Configure মেথডের মধ্যে middleware পদ্ধতির মাধ্যমে HTTP অনুরোধের প্রক্রিয়া তৈরি করা হয়।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage(); // ত্রুটি পৃষ্ঠা
}
else
{
app.UseExceptionHandler("/Home/Error"); // প্রোডাকশন ত্রুটি পৃষ্ঠা
app.UseHsts(); // HTTP Strict Transport Security (HSTS)
}
app.UseHttpsRedirection(); // HTTPS রিডাইরেকশন
app.UseStaticFiles(); // Static files (CSS, JS, ইত্যাদি)
app.UseRouting(); // রাউটিং middleware
app.UseAuthorization(); // অথোরাইজেশন middleware
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
ASP.Net Core এ আপনি নিজের custom middleware তৈরি করতে পারেন যা HTTP অনুরোধ এবং রেসপন্স প্রক্রিয়ার মধ্যে থাকে। এটি করতে middleware class তৈরি করে সেটিকে HTTP পাইপলাইনে যোগ করতে হবে।
public class CustomMiddleware
{
private readonly RequestDelegate _next;
public CustomMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
// অনুরোধ আগে কিছু কাজ করুন (যেমন লগিং)
Console.WriteLine("Request received");
// পরবর্তী middleware এ অনুরোধ প্রক্রিয়া করতে পাঠান
await _next(context);
// উত্তর পরে কিছু কাজ করুন (যেমন লগিং)
Console.WriteLine("Response sent");
}
}
এটি HTTP পাইপলাইনে যুক্ত করতে Startup.cs ফাইলে Configure মেথডে app.UseMiddleware<CustomMiddleware>();
ব্যবহার করুন।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseMiddleware<CustomMiddleware>();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
ASP.Net Core এর HTTP পাইপলাইন একটি শক্তিশালী এবং কাস্টমাইজযোগ্য প্রক্রিয়া, যা middleware এর মাধ্যমে HTTP অনুরোধ এবং রেসপন্স প্রক্রিয়া পরিচালনা করে। এটি বিভিন্ন স্টেপে অনুরোধ প্রক্রিয়া করার সুযোগ দেয়, যেমন লগিং, অথেন্টিকেশন, রাউটিং, অ্যাক্সেস কন্ট্রোল, এবং স্ট্যাটিক ফাইল পরিবেশন। আপনি HTTP পাইপলাইনে কাস্টম middleware যুক্ত করতে পারেন, যা আপনাকে আপনার অ্যাপ্লিকেশনকে আরও শক্তিশালী এবং নমনীয় করতে সাহায্য করবে।
Model-View-Controller (MVC) হলো একটি সফটওয়্যার ডিজাইন প্যাটার্ন যা অ্যাপ্লিকেশনকে তিনটি প্রধান অংশে ভাগ করে: Model, View, এবং Controller। এই প্যাটার্নটি অ্যাপ্লিকেশনের কোডকে সংগঠিত করতে সহায়ক, এবং এটি ডেভেলপারদের মেইনটেইনেবল এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। ASP.Net এ MVC আর্কিটেকচার ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য জনপ্রিয় একটি ফ্রেমওয়ার্ক।
উদাহরণ:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
উদাহরণ:
@model Product
<h1>@Model.Name</h1>
<p>Price: @Model.Price</p>
উদাহরণ:
public class ProductController : Controller
{
private readonly ApplicationDbContext _context;
public ProductController(ApplicationDbContext context)
{
_context = context;
}
public IActionResult Index()
{
var products = _context.Products.ToList();
return View(products);
}
}
Routing: ASP.Net MVC রাউটিং সিস্টেম URL ম্যানেজ করতে সাহায্য করে। আপনি রাউট কনফিগার করে URL অনুযায়ী কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে যুক্ত করতে পারেন।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
Controller:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
View:
@{
ViewData["Title"] = "Home Page";
}
<h1>@ViewData["Title"]</h1>
MVC আর্কিটেকচার ASP.Net অ্যাপ্লিকেশন ডেভেলপমেন্টে একটি জনপ্রিয় প্যাটার্ন, যা অ্যাপ্লিকেশনের লজিক, ইউজার ইন্টারফেস এবং ডেটা প্রক্রিয়া আলাদা করে। এটি কোডকে মেইনটেইনেবল, স্কেলেবল এবং টেস্টেবল রাখে। Model ডেটা এবং ব্যবসায়িক লজিক, View ইউজার ইন্টারফেস এবং Controller অ্যাপ্লিকেশন লজিক এবং রাউটিং পরিচালনা করে। ASP.Net MVC প্যাটার্নে আধুনিক, সহজে ব্যবস্থাপনাযোগ্য এবং শক্তিশালী ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়।
Routing হল ASP.Net অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা URL এবং অ্যাপ্লিকেশনের কোডের মধ্যে যোগাযোগ স্থাপন করে। এটি HTTP অনুরোধের URL কে সংশ্লিষ্ট কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে মানানসই করে। Routing ব্যবহার করে, আপনি URL গুলি কনফিগার করতে পারেন যাতে তারা কোডের নির্দিষ্ট অংশের সাথে মেলানো যায়, যেমন মডেল, কন্ট্রোলার এবং ভিউ।
Routing হলো URL এর সাথে নির্দিষ্ট কন্ট্রোলার অ্যাকশন যুক্ত করার একটি প্রক্রিয়া। এটি অ্যাপ্লিকেশন চলাকালীন HTTP অনুরোধের ভিত্তিতে একটি নির্দিষ্ট URL-এ পৌঁছানোর পথ নির্ধারণ করে। ASP.Net এ Routing এর সাহায্যে আপনি আরও মানবিক এবং SEO-বান্ধব URL গঠন করতে পারেন।
ASP.Net এ Routing কনফিগারেশন সাধারণত Startup.cs (ASP.Net Core) বা Global.asax (ASP.Net Framework) ফাইলে করা হয়।
ASP.Net Core এ Routing কনফিগারেশন Startup.cs ফাইলে করা হয়, যা অ্যাপ্লিকেশন শুরু হওয়ার সময় কনফিগারেশন এবং মিডলওয়্যার সেটআপ পরিচালনা করে।
ASP.Net Core এ Routing ব্যবহারের জন্য আপনাকে ConfigureServices মেথডে AddRouting()
কল করতে হবে। তবে সাধারণত এটি ডিফল্টভাবে অন্তর্ভুক্ত থাকে, তাই অতিরিক্ত কোনো কনফিগারেশন প্রয়োজন হয় না।
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
services.AddControllersWithViews();
}
Configure
মেথডে, আপনাকে MapControllerRoute এর মাধ্যমে রাউটিং কনফিগারেশন করতে হবে।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
// Default route configuration
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
MapControllerRoute এর মাধ্যমে রাউটিং কনফিগার করা হয়, যেখানে:
{controller=Home}
: এটি HomeController কে ডিফল্ট কন্ট্রোলার হিসেবে সিলেক্ট করে।{action=Index}
: এটি Index অ্যাকশনকে ডিফল্ট অ্যাকশন হিসেবে সিলেক্ট করে।{id?}
: এটি ঐচ্ছিক প্যারামিটার।ASP.Net Framework এ Routing কনফিগারেশন Global.asax ফাইলে করা হয়।
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
// Enable routing
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
RouteConfig.cs ফাইলে সমস্ত রাউট কনফিগারেশন থাকে।
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// Default route
routes.MapRoute(
name: "default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
এখানে:
ASP.Net এ কাস্টম URL প্যাটার্ন ব্যবহার করে আপনিও রাউট কনফিগার করতে পারেন।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
// Custom route pattern
endpoints.MapControllerRoute(
name: "product",
pattern: "product/{category}/{id?}",
defaults: new { controller = "Product", action = "Details" });
});
}
এখানে, আপনি product/{category}/{id?} URL প্যাটার্নটি কনফিগার করেছেন, যা ProductController এর Details অ্যাকশনে পাঠানো হবে। এখানে category
প্যারামিটারটি বাধ্যতামূলক, তবে id
ঐচ্ছিক।
Attribute Routing: ASP.Net Core তে, আপনি কন্ট্রোলার বা অ্যাকশনে [Route] অ্যাট্রিবিউট ব্যবহার করতে পারেন। উদাহরণ:
[Route("product/{id}")]
public IActionResult Details(int id)
{
// Your code to fetch product details
}
Multiple Routes: আপনি একাধিক রাউট কনফিগারেশন ব্যবহার করতে পারেন একই অ্যাকশনের জন্য।
[Route("product/{id}")]
[Route("item/{id}")]
public IActionResult Details(int id)
{
// Your code to fetch product details
}
Constraints: রাউটিং প্যাটার্নে কন্ডিশন বা কনস্ট্রেইন্ট ব্যবহার করতে পারেন। যেমন:
routes.MapRoute(
name: "productDetails",
url: "product/{id:int}",
defaults: new { controller = "Product", action = "Details" }
);
এখানে {id:int}
রাউট কনস্ট্রেইন্ট দ্বারা নিশ্চিত করে যে id
শুধুমাত্র একটি পূর্ণসংখ্যা হবে।
Routing ASP.Net অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ অংশ যা URL এবং কোডের মধ্যে একটি সম্পর্ক তৈরি করে। ASP.Net Core এবং ASP.Net Framework উভয়েই Routing কনফিগারেশনের জন্য ভিন্ন পদ্ধতি ব্যবহার করে। ASP.Net Core এ Startup.cs ফাইলে এবং ASP.Net Framework এ Global.asax ফাইলে Routing কনফিগার করা হয়। আপনি কাস্টম URL প্যাটার্ন, Attribute Routing, এবং Constraints ব্যবহার করে আরও বেশি নমনীয় রাউটিং তৈরি করতে পারেন।
Middleware হলো একটি সফটওয়্যার কম্পোনেন্ট বা লেয়ারের সেট, যা ASP.Net Core অ্যাপ্লিকেশনের HTTP request pipeline-এ কাজ করে। এটি অ্যাপ্লিকেশনের প্রক্রিয়াজাতকরণ প্রক্রিয়াকে কাস্টমাইজ এবং প্রসেস করার জন্য ব্যবহৃত হয়। Middleware ফাংশনগুলো HTTP request এবং response এর মধ্যে থাকে এবং এগুলো একে অপরকে চেইন আকারে কল করে।
Middleware হল একটি কম্পোনেন্ট যা HTTP request এবং response এর সাথে কাজ করে, এবং একটি নির্দিষ্ট কাজ বা অপারেশন সম্পাদন করে। উদাহরণস্বরূপ:
ASP.Net Core-এ, Middleware গুলি HTTP request পাস করার মাধ্যমে একে অপরকে প্রক্রিয়া করে, যতক্ষণ না প্রক্রিয়াটি শেষ না হয় বা response তৈরি না হয়।
ASP.Net Core অ্যাপ্লিকেশনে, Middleware গুলি একটি সিকোয়েন্সের মধ্যে চলে। যখন একটি request আসে, এটি প্রথম Middleware থেকে শুরু হয়ে পরবর্তী Middleware এ পৌঁছায়। একইভাবে, response যখন বের হয়, Middleware গুলি বিপরীত দিকে কাজ করে।
ASP.Net Core এ Middleware ব্যবহারের জন্য Startup.cs
ফাইলে Configure
মেথডে middleware গুলি সিকোয়েন্স আকারে নিবন্ধিত (register) করা হয়।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage(); // Development ত্রুটি পেজ
}
else
{
app.UseExceptionHandler("/Home/Error"); // প্রোডাকশনে ত্রুটি হ্যান্ডলিং
app.UseHsts(); // HTTP Strict Transport Security (HSTS)
}
app.UseHttpsRedirection(); // HTTP থেকে HTTPS রিডিরেকশন
app.UseStaticFiles(); // Static ফাইল সাপোর্ট
app.UseRouting(); // রাউটিং সেটআপ
app.UseAuthentication(); // Authentication Middleware
app.UseAuthorization(); // Authorization Middleware
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
ASP.Net Core অ্যাপ্লিকেশনে Middleware গুলি সাধারণত Pipeline আকারে সাজানো হয়। আপনি UseX পদ্ধতিগুলি ব্যবহার করে একটি Middleware সিকোয়েন্স তৈরি করেন।
app.UseStaticFiles()
: স্ট্যাটিক ফাইল (যেমন CSS, JavaScript) সার্ভ করতে ব্যবহৃত।app.UseAuthentication()
: ইউজারের পরিচয় যাচাই করতে ব্যবহৃত।app.UseAuthorization()
: ইউজারের অনুমতি যাচাই করতে ব্যবহৃত।app.UseRouting()
: রাউটিং কার্যক্রম পরিচালনা করে।app.UseEndpoints()
: নির্দিষ্ট endpoint এর জন্য রাউটিং নির্দেশিকা প্রদান করে।Middleware ASP.Net Core অ্যাপ্লিকেশনের গুরুত্বপূর্ণ একটি অংশ, যা HTTP request এবং response এর মধ্যে বিভিন্ন কার্যক্রম সম্পাদন করে। এটি কাস্টম কাজ যেমন authentication, authorization, logging, exception handling ইত্যাদি করার জন্য ব্যবহৃত হয়। Middleware ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনের কার্যকারিতা বৃদ্ধি পায় এবং এর নিরাপত্তা, লজিক এবং কাস্টমাইজেশন সুবিধা পাওয়া যায়।
Read more